package com.blrs.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.blrs.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.blrs.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 成本管理对象 cost_control
 *
 * @author ruoyi
 * @date 2024-02-26
 */
public class CostControl extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;
    /** 主分类 */
    private String classificationId;
    /** 合同id */
    @Excel(name = "合同id")
    private String contractId;
    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNo;

    /** 项目id */
    @Excel(name = "项目id")
    private String projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 成本名目 */
    @Excel(name = "成本名目")
    private String costList;

    /** 预算金额 */
    @Excel(name = "预算金额")
    private BigDecimal budgetAmount;

    /** 实际金额 */
    @Excel(name = "实际金额")
    private BigDecimal actualAmount;
    /** 来源:项目管理.人工添加 */
    private String source;
    /** 状态,完结,未完结 */
    @Excel(name = "状态,完结,未完结")
    private String status;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String node;

    /** 经手人id */
    @Excel(name = "经手人id")
    private String creationId;

    /** 经手人 */
    @Excel(name = "经手人")
    private String creationName;

    /** 发生时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发生时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    /** 确认人id */
    @Excel(name = "确认人id")
    private Long operateId;

    /** 确认人名称 */
    @Excel(name = "确认人名称")
    private String operateName;

    /** 确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operateTime;

    /** 部门id */
    @Excel(name = "部门id")
    private Long departmentId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String departmentName;

    /** 组织机构id */
    @Excel(name = "组织机构id")
    private Long organizationId;

    /** 组织机构名称 */
    @Excel(name = "组织机构名称")
    private String organizationName;

    /** 是否删除 */
    private String delFlag;
    private String belongTo;

    private Date generateTime;

    public Date getGenerateTime() {
        return generateTime;
    }

    public void setGenerateTime(Date generateTime) {
        this.generateTime = generateTime;
    }

    public void setClassificationId(String classificationId)
    {
        this.classificationId = classificationId;
    }

    public String getClassificationId()
    {
        return classificationId;
    }
    public void setBelongTo(String belongTo)
    {
        this.belongTo = belongTo;
    }

    public String getBelongTo()
    {
        return belongTo;
    }
    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setContractId(String contractId)
    {
        this.contractId = contractId;
    }

    public String getContractId()
    {
        return contractId;
    }
    public void setContractNo(String contractNo)
    {
        this.contractNo = contractNo;
    }

    public String getContractNo()
    {
        return contractNo;
    }
    public void setProjectId(String projectId)
    {
        this.projectId = projectId;
    }

    public String getProjectId()
    {
        return projectId;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setCostList(String costList)
    {
        this.costList = costList;
    }

    public String getCostList()
    {
        return costList;
    }
    public void setBudgetAmount(BigDecimal budgetAmount)
    {
        this.budgetAmount = budgetAmount;
    }

    public BigDecimal getBudgetAmount()
    {
        return budgetAmount;
    }
    public void setActualAmount(BigDecimal actualAmount)
    {
        this.actualAmount = actualAmount;
    }

    public BigDecimal getActualAmount()
    {
        return actualAmount;
    }

    public void setSource(String source)
    {
        this.source = source;
    }

    public String getSource()
    {
        return source;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setNode(String node)
    {
        this.node = node;
    }

    public String getNode()
    {
        return node;
    }
    public void setCreationId(String creationId)
    {
        this.creationId = creationId;
    }

    public String getCreationId()
    {
        return creationId;
    }
    public void setCreationName(String creationName)
    {
        this.creationName = creationName;
    }

    public String getCreationName()
    {
        return creationName;
    }
    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }
    public void setOperateId(Long operateId)
    {
        this.operateId = operateId;
    }

    public Long getOperateId()
    {
        return operateId;
    }
    public void setOperateName(String operateName)
    {
        this.operateName = operateName;
    }

    public String getOperateName()
    {
        return operateName;
    }
    public void setOperateTime(Date operateTime)
    {
        this.operateTime = operateTime;
    }

    public Date getOperateTime()
    {
        return operateTime;
    }
    public void setDepartmentId(Long departmentId)
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId()
    {
        return departmentId;
    }
    public void setDepartmentName(String departmentName)
    {
        this.departmentName = departmentName;
    }

    public String getDepartmentName()
    {
        return departmentName;
    }
    public void setOrganizationId(Long organizationId)
    {
        this.organizationId = organizationId;
    }

    public Long getOrganizationId()
    {
        return organizationId;
    }
    public void setOrganizationName(String organizationName)
    {
        this.organizationName = organizationName;
    }

    public String getOrganizationName()
    {
        return organizationName;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("contractNo", getContractNo())
                .append("projectId", getProjectId())
                .append("projectName", getProjectName())
                .append("costList", getCostList())
                .append("budgetAmount", getBudgetAmount())
                .append("actualAmount", getActualAmount())
                .append("status", getStatus())
                .append("node", getNode())
                .append("creationId", getCreationId())
                .append("creationName", getCreationName())
                .append("creationTime", getCreationTime())
                .append("operateId", getOperateId())
                .append("operateName", getOperateName())
                .append("operateTime", getOperateTime())
                .append("departmentId", getDepartmentId())
                .append("departmentName", getDepartmentName())
                .append("organizationId", getOrganizationId())
                .append("organizationName", getOrganizationName())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
